package com.example.home.entity.nominate

import com.example.entity.BaseEntity

data class VideoSmallCardEntity (
    val adIndex: Int,
    val data: VideoSmallCardData,
    val id: Int,
    val tag: Any,
    val trackingData: Any,
    val type: String
): BaseEntity()

data class VideoSmallCardData(
    val ad: Boolean,
    val adTrack: List<Any>,
    val author: VideoSmallCardAuthor,
    val brandWebsiteInfo: Any,
    val campaign: Any,
    val category: String,
    val collected: Boolean,
    val consumption: VideoSmallCardConsumption,
    val cover: VideoSmallCardCover,
    val dataType: String,
    val date: Long,
    val description: String,
    val descriptionEditor: String,
    val descriptionPgc: Any,
    val duration: Int,
    val favoriteAdTrack: Any,
    val id: Int,
    val idx: Int,
    val ifLimitVideo: Boolean,
    val label: Any,
    val labelList: List<Any>,
    val lastViewTime: Any,
    val library: String,
    val playInfo: List<PlayInfo>,
    val playUrl: String,
    val played: Boolean,
    val playlists: Any,
    val promotion: Any,
    val provider: VideoSmallCardProvider,
    val reallyCollected: Boolean,
    val recallSource: String,
    val recall_source: String,
    val releaseTime: Long,
    val remark: Any,
    val resourceType: String,
    val searchWeight: Int,
    val shareAdTrack: Any,
    val slogan: Any,
    val src: Int,
    val subtitles: List<Any>,
    val tags: List<VideoSmallCardTag>,
    val thumbPlayUrl: Any,
    val title: String,
    val titlePgc: Any,
    val type: String,
    val videoPosterBean: VideoPosterBean,
    val waterMarks: Any,
    val webAdTrack: Any,
    val webUrl: VideoSmallCardWebUrl
)

data class VideoSmallCardAuthor(
    val adTrack: Any,
    val approvedNotReadyVideoCount: Int,
    val description: String,
    val expert: Boolean,
    val follow: VideoSmallCardFollow,
    val icon: String,
    val id: Int,
    val ifPgc: Boolean,
    val latestReleaseTime: Long,
    val link: String,
    val name: String,
    val recSort: Int,
    val shield: VideoSmallCardShield,
    val videoNum: Int
)

data class VideoSmallCardConsumption(
    val collectionCount: Int,
    val realCollectionCount: Int,
    val replyCount: Int,
    val shareCount: Int
)

data class VideoSmallCardCover(
    val blurred: String,
    val detail: String,
    val feed: String,
    val homepage: Any,
    val sharing: Any
)

data class PlayInfo(
    val height: Int,
    val name: String,
    val type: String,
    val url: String,
    val urlList: List<VideoSmallCardUrl>,
    val width: Int
)

data class VideoSmallCardProvider(
    val alias: String,
    val icon: String,
    val name: String
)

data class VideoSmallCardTag(
    val actionUrl: String,
    val adTrack: Any,
    val bgPicture: String,
    val childTagIdList: Any,
    val childTagList: Any,
    val communityIndex: Int,
    val desc: String,
    val haveReward: Boolean,
    val headerImage: String,
    val id: Int,
    val ifNewest: Boolean,
    val name: String,
    val newestEndTime: Any,
    val tagRecType: String
)

data class VideoPosterBean(
    val fileSizeStr: String,
    val scale: Double,
    val url: String
)

data class VideoSmallCardWebUrl(
    val forWeibo: String,
    val raw: String
)

data class VideoSmallCardFollow(
    val followed: Boolean,
    val itemId: Int,
    val itemType: String
)

data class VideoSmallCardShield(
    val itemId: Int,
    val itemType: String,
    val shielded: Boolean
)

data class VideoSmallCardUrl(
    val name: String,
    val size: Int,
    val url: String
)